/*
 * 单片机初始化
 */
#ifndef MCU_H_
#define MCU_H_

#include "head\DebugTool.h"
#include "driverlib\MSP430F5xx_6xx\driverlib.h"

//#define MSP430_FREQUENCY                25165824
#define MSP430_FREQUENCY                16777216
#define MSP430_CRYSTALS_SEL             UCS_REFOCLK_SELECT
#define MSP430_CRYSTALS_FREQUENCY       32768
//---------------单片机工作状态指示灯----------
#define MSP430_LED_PORT         GPIO_PORT_P3
#define MSP430_LED_PIN          GPIO_PIN6//p3.6
#define MSP430_LED_REG_PORT     P3OUT
#define MSP430_LED_REG_PIN      BIT6

/*
 * 各种电源引脚定义
 */
//---------------FPGA/RS232/RS485/备用电池电量battery---------------
#define FPGA_POW_PORT                   GPIO_PORT_P8
#define FPGA_POW_PIN                    GPIO_PIN4//p8.4
//--------------------光谱仪开关/USB串口/离水检测-----------------------
#define Spec_USB_POW_PORT               GPIO_PORT_P6
#define Spec_USB_POW_PIN                GPIO_PIN3//p6.3
//-------------水质温度检测/陀螺仪/GPS模块/LED补光灯电压模块的电源-------------
#define MSP430_PERIPHERAL_MODULE_PORT   GPIO_PORT_P9
#define MSP430_PERIPHERAL_MODULE_PIN    GPIO_PIN3//p9.3
//---------------------------电磁锁开关-----------------------------
#define ELE_LOCK_PORT                   GPIO_PORT_P8
#define ELE_LOCK_PIN                    GPIO_PIN7//p8.7
//-----------------------------4G模块-----------------------------
#define WHGM5_POW_PORT                  GPIO_PORT_P7
#define WHGM5_POW_PIN                   GPIO_PIN2//p7.2
//------------------------LED补光灯电压输出控制------------------------
#define TPL_POW_OUT_PORT                GPIO_PORT_P10
#define TPL_POW_OUT_PIN                 GPIO_PIN0//p10.0

uint32_t clockFrequencySMCLK;

/*
 * @brief  初始化msp430的时钟与模块电源控制等
 * @param  无
 * @retval 无*/
void msp430_Init();

/*
 * @brief  初始化msp430的引脚输出
 * @param  无
 * @retval 无*/
void msp430_outPutInit();

/*
 * @brief  进入低功耗模式
 * @param  无
 * @retval 无*/
void msp430_LowPower_Enter();

/*
 * @brief  退出低功耗模式
 * @param  无
 * @retval 无*/
void msp430_LowPower_Exit();

/*
 * @brief  进入半休眠模式
 * @param  无
 * @retval 无*/
void msp430_HalfSleep_Enter();

/*
 * @brief  退出半休眠模式
 * @param  无
 * @retval 无*/
void msp430_HalfSleep_Exit();

/*
 * @brief  打开补光灯
 * @param  无
 * @retval 无*/
void msp430_TPL_powerOutON();

/*
 * @brief  关闭补光灯
 * @param  无
 * @retval 无*/
void msp430_TPL_powerOutOFF();

#endif /* MCU_H_ */
